The communications industry is rapidly changing to adjust to emerging technologies and ever increasing customer demand. This customer demand for new applications and increased performance of existing applications is driving communications network and system providers to employ networks and systems having greater speed and capacity (e.g., greater bandwidth). In trying to achieve these goals, a common approach taken by many communications providers is to use packet switching technology. Increasingly, public and private communications networks are being built and expanded using various packet technologies, such as Internet Protocol (IP). Note, nothing described or referenced in this document is admitted as prior art to this application unless explicitly so stated.
IP multicast networks are becoming more extensively used for applications such as video distribution and conference calling. IP multicasting is defined as the transmission of an IP datagram to a “host group”, a set of zero or more hosts identified by a single IP destination address. A multicast datagram is delivered to all members of its destination host group with the same “best-efforts” reliability as regular unicast IP datagrams, i.e., the datagram is not guaranteed to arrive at all members of the destination group or in the same order relative to other datagrams. IP multicasting allows a host to create, join and leave host groups, as well as send IP datagrams to host groups using Internet Group Management Protocol (IGMP) and extension of the IP and local network service interfaces within the host. IGMP is used between IP hosts and their immediate neighbor multicast agents to support the creation of transient groups, the addition and deletion of members of a group, and the periodic confirmation of group membership.
Access control lists (ACLs) are implemented on packet switching devices to filter/allow traffic which corresponds to its rules and actions. An ACL may specify, inter alia, to apply its predefined rules to packets matching specified source and destination addresses, types of traffic, etc. Time-based ACLs are ACLs that can be enabled or disabled for a predetermined specified period of time (e.g., weekdays from 7:00-19:00). ACLs are typically implemented using associative memories which allow a fast lookup operation on a packet to identify whether a permit condition (allow the packet) or a deny condition (drop the packet) currently corresponds to the packet. As such, time-based ACLs are typically implemented by adding/modifying/removing entries from associative memories at appropriate time of days/days of weeks such that the associative memory reflects the current permit or deny policy for each packet.